using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using WalkingTec.Mvvm.Core;
using WalkingTec.Mvvm.Core.Extensions;
using HengTong.Model.Db.Hr.Attendance;


namespace HengTong.ViewModel.Hr.SysAttendanceShiftVms
{
    public partial class SysAttendanceShiftTemplateVm : BaseTemplateVM
    {
        [Display(Name = "班次名称")]
        public ExcelPropety NameExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.Name);
        [Display(Name = "显示颜色")]
        public ExcelPropety DisplayColorExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.DisplayColor);
        [Display(Name = "班次标签")]
        public ExcelPropety TagExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.Tag);
        [Display(Name = "是否启用")]
        public ExcelPropety IsEnabledExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.IsEnabled);
        [Display(Name = "备注")]
        public ExcelPropety RemarkExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.Remark);
        [Display(Name = "上班基准日")]
        public ExcelPropety WorkStartDayOffsetExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkStartDayOffset);
        [Display(Name = "上班时间")]
        public ExcelPropety WorkStartTimeExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkStartTime);
        [Display(Name = "上班卡有效开始基准日")]
        public ExcelPropety WorkStartPunchStartDayOffsetExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkStartPunchStartDayOffset);
        [Display(Name = "上班卡有效开始时间")]
        public ExcelPropety WorkStartPunchStartTimeExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkStartPunchStartTime);
        [Display(Name = "上班卡有效结束基准日")]
        public ExcelPropety WorkStartPunchEndDayOffsetExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkStartPunchEndDayOffset);
        [Display(Name = "上班卡有效结束时间")]
        public ExcelPropety WorkStartPunchEndTimeExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkStartPunchEndTime);
        [Display(Name = "下班基准日")]
        public ExcelPropety WorkEndDayOffsetExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkEndDayOffset);
        [Display(Name = "下班时间")]
        public ExcelPropety WorkEndTimeExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkEndTime);
        [Display(Name = "下班卡有效开始基准日")]
        public ExcelPropety WorkEndPunchStartDayOffsetExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkEndPunchStartDayOffset);
        [Display(Name = "下班卡有效开始时间")]
        public ExcelPropety WorkEndPunchStartTimeExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkEndPunchStartTime);
        [Display(Name = "下班卡有效结束基准日")]
        public ExcelPropety WorkEndPunchEndDayOffsetExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkEndPunchEndDayOffset);
        [Display(Name = "下班卡有效结束时间")]
        public ExcelPropety WorkEndPunchEndTimeExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkEndPunchEndTime);
        [Display(Name = "启用违规规则")]
        public ExcelPropety AttendanceViolationRuleEnabledExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.AttendanceViolationRuleEnabled);
        [Display(Name = "迟到阈值(分钟)")]
        public ExcelPropety LateMinutesThresholdExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.LateMinutesThreshold);
        [Display(Name = "早退阈值(分钟)")]
        public ExcelPropety EarlyLeaveMinutesThresholdExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.EarlyLeaveMinutesThreshold);
        [Display(Name = "迟到记旷工阈值(分钟)")]
        public ExcelPropety AbsenceByLateMinutesThresholdExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.AbsenceByLateMinutesThreshold);
        [Display(Name = "早退记旷工阈值(分钟)")]
        public ExcelPropety AbsenceByEarlyLeaveMinutesThresholdExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.AbsenceByEarlyLeaveMinutesThreshold);
        [Display(Name = "合计偏差记旷工阈值(分钟)")]
        public ExcelPropety AbsenceByTotalDeviationMinutesThresholdExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.AbsenceByTotalDeviationMinutesThreshold);
        [Display(Name = "标准工作时长(分钟)")]
        public ExcelPropety StandardWorkMinutesExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.StandardWorkMinutes);
        [Display(Name = "折算出勤天数")]
        public ExcelPropety AttendanceDaysExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.AttendanceDays);
        [Display(Name = "启用补贴规则")]
        public ExcelPropety SubsidyRuleEnabledExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.SubsidyRuleEnabled);
        [Display(Name = "假日是否排班")]
        public ExcelPropety IsHolidayScheduledExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.IsHolidayScheduled);
        [Display(Name = "工作日设置")]
        public ExcelPropety WorkDaysExcel = ExcelPropety.CreateProperty<SysAttendanceShift>(x => x.WorkDays);

	    protected override void InitVM()
        {
        }

    }

    public class SysAttendanceShiftImportVm : BaseImportVM<SysAttendanceShiftTemplateVm, SysAttendanceShift>
    {

    }

}
